//stat函数测试：获取文件属性和类型
#include<dirent.h>
#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<sys/types.h>
#include<unistd.h>
#include<sys/stat.h>
#include<fcntl.h>

int main(int argc,char*argv[])
{
	//打开目录
	DIR *pDir  = opendir(argv[1]);

	if(pDir == NULL)
	{
		perror("opendir error");
		return -1;
	}

	//循环读取目录项
	struct dirent *pDent = NULL;

	while((pDent=readdir(pDir))!=NULL)
	{
		if(strcmp(pDent->d_name , "..")==0 ||strcmp(pDent->d_name ,".")==0)
		{
			continue;
		}
		printf("[%s]\n",pDent->d_name);
		//判断文件类型
		switch(pDent->d_type)
		{
			case DT_REG:
				printf("这是普通文件\n");
				break;
			case DT_DIR:
				printf("这是目录\n");
				break;
			default:
				printf("日志文件\n");
		}
	}
	//关闭文件
	closedir(pDir);
	return 0;
}
